package com.fcscs.ecms.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.fcscs.cservice.domain.CookOptionItem;
import com.fcscs.cservice.domain.SpicyDescription;
import com.fcscs.cservice.domain.model.CookOptionItemView;
import com.fcscs.cservice.domain.model.SpicyView;

@Service
public interface ECMSInRoomConfManager {

	CookOptionItem getCookOptionItem(long id);
	
	List<CookOptionItem> getCookOptionItemList(long orgId, long propId, boolean isCurrent); //isCurrent true: current; false: scheduled

	List<CookOptionItem> getCookOptionItemList(long orgId, long propId, long versionId); //get specified version data

	List<CookOptionItem> saveCookOptionItemList(List<CookOptionItem> coiList); //used to save display order

	CookOptionItem createCookOptionItem(CookOptionItem coi);

	CookOptionItem saveCookOptionItem(CookOptionItem coi);
	
	boolean deleteCookOptionItem(CookOptionItem coi);

	boolean permDeleteCookOptionItem(CookOptionItem coi);

	boolean isCookOptionItemTaken(long orgId, long propId, String name, Long id, long versionId);
	
	List<CookOptionItemView> getCookOptionItemViewList(long orgId, long propId); //used by web service, get current version

	SpicyDescription getSpicyDescription(long id);
	
	List<SpicyDescription> getSpicyDescriptionList(long orgId, long propId, boolean isCurrent); //isCurrent true: current; false: scheduled

	List<SpicyDescription> getSpicyDescriptionList(long orgId, long propId, long versionId); //get specified version data

	SpicyDescription createSpicyDescription(SpicyDescription spicy);

	SpicyDescription saveSpicyDescription(SpicyDescription spicy);
	
	boolean deleteSpicyDescription(SpicyDescription spicy);

	boolean permDeleteSpicyDescription(SpicyDescription spicy);

	boolean isSpicyDescriptionTaken(long orgId, long propId, String name, Long id, long versionId);
	
	List<SpicyView> getSpicyViewList(long orgId, long propId); //used by web service, get current version
}
